* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

body {
    display: flex;
    justify-content: center;
    align-items: center;
    min-height: 100vh;
    background-image: linear-gradient(to left bottom, #d87a00, #f46246, #fa557c, #e75eaf, #bc74d7, #9487eb, #6197f4, #00a3f3, #00afed, #00b9e0, #00c0cf, #2ac6bc);

    /* 指定背景图像的大小 */
    background-size: 200%;
    /* 执行动画：动画名 时长 线性的 无限次播放 */
    animation: bgAnimation 30s linear infinite;

    -webkit-touch-callout: none;
    -webkit-user-select: none;
    -khtml-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
}

/* 定义动画 */
@keyframes bgAnimation {
    0% {
        background-position: 0% 50%;
    }

    50% {
        background-position: 100% 50%;
    }

    100% {
        background-position: 0% 50%;
    }
}


.box {
    position: relative;
    width: 400px;
    padding: 20px;
    border-radius: 10px;
    background-color: #ffffffa6;
}

.box .inputBox,
.box .checkinputBox {
    position: relative;
    width: 100%;
    background: #fff;
    padding: 5px;
    border-radius: 10px;
    box-shadow: 0 15px 25px rgba(0, 0, 0, 0.15);
}

.box .checkinputBox {
    margin-top: 10px;
}

.box .inputBox input,
.box .checkinputBox input {
    position: relative;
    width: 100%;
    outline: none;
    border: none;
    padding: 10px 5px;
}

.box .inputBox #toggleBtn,
.box .checkinputBox #toggleBtn {
    position: absolute;
    top: 8px;
    right: 10px;
    width: 34px;
    height: 34px;
    background: rgba(0, 0, 0, 0.05);
    border-radius: 50%;
    cursor: pointer;
    display: flex;
    justify-content: center;
    align-items: center;
}

.box .inputBox #toggleBtn::before,
.box .checkinputBox #toggleBtn::before {
    content: "o.O";
    font-family: fontAwesome;
}

.box .inputBox #toggleBtn.hide::before,
.box .checkinputBox #toggleBtn.hide::before {
    content: "-.-";
    font-family: fontAwesome;
}

.validation {
    padding: 20px;
    margin-top: 10px;
    border-radius: 10px;
    background-color: #ffffffda;
    box-shadow: 0 15px 25px rgba(0, 0, 0, 0.15);
    transition: all 0.3s ease-in-out;
}

.validation ul {
    position: relative;
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.validation ul li {
    position: relative;
    list-style: none;
    color: #000;
    font-size: 0.85em;
    transition: 0.5s;
}

.validation ul li.valid {
    color: #03d16e;
}

.validation ul li::before {
    content: "✦";
    width: 20px;
    height: 10px;
    font-family: fontAwesome;
    color: #d15503;
    display: inline-flex;
}

.validation ul li.valid::before {
    content: '✔';
    font-family: fontAwesome;
    color: #03d16e;
}